package com.guochuang.yunwang.promanager.service;

import com.guochuang.yunwang.promanager.domain.Group;
import com.guochuang.yunwang.promanager.domain.dto.group.GroupDTO;
import com.guochuang.yunwang.promanager.domain.vo.group.GroupSearchVO;

import java.util.List;

public interface GroupService {
    /**
     * 添加新的团队
     * @param group
     * @return
     */
    public Integer addNewGroup(Group group);

    /**
     * 根据团队id删除某个团队
     * @param gid
     * @return
     */
    public Integer deleteGroupById(Integer gid);

    /**
     * 根据一组团队id删除这些团队
     * @param gids
     * @return
     */
    public Integer deleteGroupByIds(List<Integer> gids);

    public Integer deleteGroupsByNames(List<String> names);

    public Integer deleteGroupByName(String name);
    /**
     * 根据gid查找团队信息
     */
    public Group getGroupById(Integer gid);

    /**
     * 根据名称查询团队
     * @param name
     * @return
     */
    public Group getGroupByName(String name);

    /**
     * 查询所有团队
     */
    public List<Group> getAllGroups();

    /**
     * 更新团队信息
     * @param
     * @return
     */
    public Integer updateGroup(Group group);

    public List<GroupDTO> getAllGroupDTOs();

    public List<GroupDTO> getAllGroupDTOsLike(GroupSearchVO group);

    public List<String> getAllUserNames();
}
